package com.example.simple.work.mapper;

import com.example.simple.work.entity.EmployeeMessage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmployeeMapper {
    /**
     * 增加员工信息--重构
     * @param employeeMessage 员工信息
     * @return 返回值为受影响的行数
     * */
    Integer insert(EmployeeMessage employeeMessage);

    /**
     * 根据员工的工号来查询员工信息--重构
     * @param employeeId 员工工号
     * @return 返回值为如果找到则返回数据对象
     * */
    EmployeeMessage findByEmployeeId(String employeeId);

    /**
     * 已弃用
     * 根据员工工号删除员工数据--重构
     * @param employeeId 员工工号
     * @return 返回值为受影响的行数
     * */
    Integer deleteByEmployeeId(String employeeId);

    /**
     * 查询所有员工数据--重构
     * @return 返回所有数据
     * */
    List<EmployeeMessage> findAllEmployeeMessageData();

    /**
     * 根据员工的工号来修改员工信息
     * @param employeeMessage 员工信息
     * @return 返回值为受影响的行数
     * */
    Integer update(@Param("employeeId") String employeeId,
                   @Param("employeeMessage") EmployeeMessage employeeMessage);


    /**
     * 查询所有员工数据--重构
     * @return 返回所有数据
     * */
    List<EmployeeMessage> findMessageByEmployeeName(String employeeName);

    /**
     * 删除员工数据--重构
     * @return 返回值为受影响的行数
     * */
    Integer updateIsDelete(@Param("employeeId") String employeeId);

    /**
     * 批量增加员工信息--重构
     * @param employeeMessageList 员工信息
     * @return 返回值为受影响的行数
     * */
    Integer insertList(@Param("employeeMessageList") List<EmployeeMessage> employeeMessageList);

}
